package cn.edu.zafu.bigdata.lmr;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Scanner;

public class AppendAndReadFile {

    // 追加内容到文件的方法
    public static void appendToFile(String fileName, String content) {
        try {
            // 确保文件目录存在
            File file = new File(fileName);
            if (!file.getParentFile().exists()) {
                file.getParentFile().mkdirs();
            }
            // 使用BufferedWriter和FileWriter追加内容到文件
            BufferedWriter writer = new BufferedWriter(new FileWriter(file, true)); // true 表示追加内容
            writer.write(content);
            writer.newLine(); // 添加换行，以便下一次追加时内容不会紧接上一次的内容
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    // 读取文件的方法
    public static void readFile(String fileName) {
        try {
            // 使用Files.readAllLines读取文件内容
            Files.readAllLines(Paths.get(fileName)).forEach(System.out::println);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 提示用户输入文本
        System.out.println("请输入要追加的文本：");
        String inputText = scanner.nextLine();

        // 文件名，这里以学号为例
        String fileName = "files/2022010101.txt";

        // 追加内容到文件
        appendToFile(fileName, inputText);

        // 读取并显示文件内容
        System.out.println("文件内容如下：");
        readFile(fileName);

        scanner.close();
    }
}